<?php

namespace Controller;

class DeleteController{

	/**
	 * Hanterar borttagning av användare
	 * @param Object $database  ett databasobjekt
	 * @param bool $loggedin  om användaren är inloggad eller ej
	 * @param bool $superuser om användaren är superuser eller ej
	 */
	public function DoControll($database, $loggedin, $superuser)
	{
		$UserHandler = new \Model\UserHandler($database);
		$DeleteHandler = new \Model\DeleteHandler();
		$DeleteView = new \View\DeleteView();

		$userArray = $UserHandler->GetAllUsers();

		$message = $DeleteView->Message("");	

		$output = $DeleteView->CreateDeleteForm($userArray);		

		// Om det finns ett meddelande skall det skrivas ut
		if($DeleteHandler->DeleteMessageExists() != false){						
			$message = $DeleteView->Message($DeleteHandler->DeleteMessageExists());

			$DeleteHandler->ClearDeleteMessage();
		}

		if($DeleteView->TriedToDelete()){

			$userToDelete = $DeleteView->GetDropDownUser();
			
			// Om userToDelete är större än ett har en användare valts i listan
			if($userToDelete > 1){			
				$UserHandler->RemoveUser($userToDelete);
				$DeleteHandler->SetDeleteMessage(\View\DeleteView::SUCCESS);
				$DeleteHandler->RedirectToSelf();
			}
			else{
				$DeleteHandler->SetDeleteMessage(\View\DeleteView::NO_USER_CHOOSEN);
				$DeleteHandler->RedirectToSelf();
			}
		}		
		$html = $message .= $output;		
		return $html;
	}
}